package common.io.console;

import java.io.PrintWriter;
import java.io.Reader;

/**
 * Created by Gerardo on 2/10/14.
 */
public interface Terminal {
	Terminal printf(final String fmt, final Object... params) throws TerminalException;

	String readLine() throws TerminalException;

	String readLine(final String fmt, final Object... params) throws TerminalException;

	char[] readPassword() throws TerminalException;

	char[] readPassword(final String fmt, final Object... params) throws TerminalException;

	Reader reader() throws TerminalException;

	PrintWriter writer() throws TerminalException;

	class TerminalException extends RuntimeException {
	}
}
